//
//  LAGTrackPolyLineCreater.h
//  LAMapBasicDemo
//
//  Created by 罗亮富 on 2017/12/5.
//  Copyright © 2017年 2Bulu. All rights reserved.
//

#import <MapBasics/MapBasics.h>
#import <MapGisBusiness/MapGisBusiness.h>



#pragma mark------
//在生成TrackPolyLine的时候，除了读取轨迹点坐标值外，还要读取轨迹点第二属性值类型
typedef enum {
    
    TrackPolylinePointSecondValueTypeNone = 0,//不读取第二属性值
    TrackPolylinePointSecondValueTypeeSpeed, //读取速度为第二属性值
    TrackPolylinePointSecondValueTypeAltitude, //读取海拔为第二属性值
}TrackPolylinePointSecondValueType;

@interface LAGTrackPolyLineCreater : LAGMapView


//valType为TrackPolylinePointSecondValueTypeNone 返回的是TrackPolyline对象\
其他情况 返回TrackPolyline的子类ValueAddedTrackPolyLine实例对象
+(TrackPolyline *)getTrackPolylineForSegment:(LocationPointsSegmentType)segmentData
                         withSecondValueType:(TrackPolylinePointSecondValueType)valType
                         ofCoordinateSysytem:(LACoordinateSystem)mapType
                                   mapRegion:(MKCoordinateRegion *)mapRegion;

+(TrackPolyline *)cachedPolyLineForTrackSegment:(TrackSegment *)segment
                               with3rdValueType:(TrackPolylinePointSecondValueType)valType
                            ofCoordinateSysytem:(LACoordinateSystem)mapType
                                      mapRegion:(MKCoordinateRegion *)mapRegion;

//相似于上一个方法，valType为获取的polyLine附带第二属性值，\
valType为TrackPolylinePointSecondValueTypeNone 返回的是TrackPolyline对象\
其他情况 返回TrackPolyline的子类ValueAddedTrackPolyLine实例对象
//+(NSArray <TrackPolyline *>*)getTrackPolylinesFromTrack:(LAGTrackData *)data
//                                    withSecondValueType:(TrackPolylinePointSecondValueType)valType
//                                    ofCoordinateSysytem:(LACoordinateSystem)mapType
//                                              mapRegion:(MKCoordinateRegion *)mapRegion
//                                              withBlock:(void (^)(TrackPolyline *line, MKCoordinateRegion currentRegion, BOOL finished))block;

@end


